import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Toolkit;
import java.net.URL;

public class JAPI_Frame extends Frame
{
	private static final long serialVersionUID = -6722705489487679611L;
	
	Insets inset;
	boolean resizable=true;

	public JAPI_Frame(String title)
	{
		super(title);
		addNotify();
		super.setLayout(new JAPI_Fixlayout());
		
		URL imgURL = this.getClass().getClassLoader().getResource("lambda.jpg");
	    if (imgURL != null) {
	    	Image icon = Toolkit.getDefaultToolkit().getImage(imgURL);
	        this.setIconImage(icon);
	    } else {
	    	System.out.println("File lambda.jpg not found.");
	    }
	}

	public void setResizable(boolean set)
	{
		resizable=set;
		repaint(-1);
	}

	public void paint(Graphics g)
	{
	    if(isResizable()!=resizable)
	    	super.setResizable(resizable);
	}

	public void setEnabled(boolean b) {
		int i;
		for(i=0;i<getComponentCount();i++)
			getComponent(i).setEnabled(b);
		if(getMenuBar() != null)
			((JAPI_Menubar)getMenuBar()).setEnabled(b);
	}
	
	public void setInsets(int t, int b, int l, int r)
	{
		inset = new Insets(t,l,b,r);
	}

	public Insets getInsets()
	{
		if(inset != null)
			return(inset);
		else
			return(super.getInsets());
	}

	public void setBackground(Color c)
    {
    	super.setBackground(c);
		int i;
 		for(i=0;i<getComponentCount();i++)
			getComponent(i).setBackground(c);
		// menus haben keine Funktionen zum Setzen der Farben
    }

	public void setFont(Font f)
    {
		int i;
   		super.setFont(f);
		for(i=0;i<getComponentCount();i++)
			if(getComponent(i).isDisplayable())
				getComponent(i).setFont(f);
		if(getMenuBar() != null)
			((JAPI_Menubar)getMenuBar()).setFont(f);
   }
}
